use strict;
use warnings;
TEST('vcomisd xmm30, xmm29                  ', [0x62,0x01,0xfd,0x08,0x2f,0xf5                         ], 'MODE64');
TEST('vcomisd xmm30, xmm29, {sae}           ', [0x62,0x01,0xfd,0x18,0x2f,0xf5                         ], 'MODE64');
TEST('vcomisd xmm30, qword [rcx]            ', [0x62,0x61,0xfd,0x08,0x2f,0x31                         ], 'MODE64');
TEST('vcomisd xmm30, qword [rax+r14*8+0x123]', [0x62,0x21,0xfd,0x08,0x2f,0xb4,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcomisd xmm30, qword [rdx+0x3f8]      ', [0x62,0x61,0xfd,0x08,0x2f,0x72,0x7f                    ], 'MODE64');
TEST('vcomisd xmm30, qword [rdx+0x400]      ', [0x62,0x61,0xfd,0x08,0x2f,0xb2,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcomisd xmm30, qword [rdx-0x400]      ', [0x62,0x61,0xfd,0x08,0x2f,0x72,0x80                    ], 'MODE64');
TEST('vcomisd xmm30, qword [rdx-0x408]      ', [0x62,0x61,0xfd,0x08,0x2f,0xb2,0xf8,0xfb,0xff,0xff     ], 'MODE64');

TEST('vcomiss xmm30, xmm29                  ', [0x62,0x01,0x7c,0x08,0x2f,0xf5                         ], 'MODE64');
TEST('vcomiss xmm30, xmm29, {sae}           ', [0x62,0x01,0x7c,0x18,0x2f,0xf5                         ], 'MODE64');
TEST('vcomiss xmm30, dword [rcx]            ', [0x62,0x61,0x7c,0x08,0x2f,0x31                         ], 'MODE64');
TEST('vcomiss xmm30, dword [rax+r14*8+0x123]', [0x62,0x21,0x7c,0x08,0x2f,0xb4,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcomiss xmm30, dword [rdx+0x1fc]      ', [0x62,0x61,0x7c,0x08,0x2f,0x72,0x7f                    ], 'MODE64');
TEST('vcomiss xmm30, dword [rdx+0x200]      ', [0x62,0x61,0x7c,0x08,0x2f,0xb2,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcomiss xmm30, dword [rdx-0x200]      ', [0x62,0x61,0x7c,0x08,0x2f,0x72,0x80                    ], 'MODE64');
TEST('vcomiss xmm30, dword [rdx-0x204]      ', [0x62,0x61,0x7c,0x08,0x2f,0xb2,0xfc,0xfd,0xff,0xff     ], 'MODE64');

TEST('vcvtsd2si eax, xmm30, {rn-sae} ', [0x62,0x91,0x7f,0x18,0x2d,0xc6], 'MODE64');
TEST('vcvtsd2si eax, xmm30, {ru-sae} ', [0x62,0x91,0x7f,0x58,0x2d,0xc6], 'MODE64');
TEST('vcvtsd2si eax, xmm30, {rd-sae} ', [0x62,0x91,0x7f,0x38,0x2d,0xc6], 'MODE64');
TEST('vcvtsd2si eax, xmm30, {rz-sae} ', [0x62,0x91,0x7f,0x78,0x2d,0xc6], 'MODE64');
TEST('vcvtsd2si ebp, xmm30, {rn-sae} ', [0x62,0x91,0x7f,0x18,0x2d,0xee], 'MODE64');
TEST('vcvtsd2si ebp, xmm30, {ru-sae} ', [0x62,0x91,0x7f,0x58,0x2d,0xee], 'MODE64');
TEST('vcvtsd2si ebp, xmm30, {rd-sae} ', [0x62,0x91,0x7f,0x38,0x2d,0xee], 'MODE64');
TEST('vcvtsd2si ebp, xmm30, {rz-sae} ', [0x62,0x91,0x7f,0x78,0x2d,0xee], 'MODE64');
TEST('vcvtsd2si r13d, xmm30, {rn-sae}', [0x62,0x11,0x7f,0x18,0x2d,0xee], 'MODE64');
TEST('vcvtsd2si r13d, xmm30, {ru-sae}', [0x62,0x11,0x7f,0x58,0x2d,0xee], 'MODE64');
TEST('vcvtsd2si r13d, xmm30, {rd-sae}', [0x62,0x11,0x7f,0x38,0x2d,0xee], 'MODE64');
TEST('vcvtsd2si r13d, xmm30, {rz-sae}', [0x62,0x11,0x7f,0x78,0x2d,0xee], 'MODE64');
TEST('vcvtsd2si rax, xmm30, {rn-sae} ', [0x62,0x91,0xff,0x18,0x2d,0xc6], 'MODE64');
TEST('vcvtsd2si rax, xmm30, {ru-sae} ', [0x62,0x91,0xff,0x58,0x2d,0xc6], 'MODE64');
TEST('vcvtsd2si rax, xmm30, {rd-sae} ', [0x62,0x91,0xff,0x38,0x2d,0xc6], 'MODE64');
TEST('vcvtsd2si rax, xmm30, {rz-sae} ', [0x62,0x91,0xff,0x78,0x2d,0xc6], 'MODE64');
TEST('vcvtsd2si r8, xmm30, {rn-sae}  ', [0x62,0x11,0xff,0x18,0x2d,0xc6], 'MODE64');
TEST('vcvtsd2si r8, xmm30, {ru-sae}  ', [0x62,0x11,0xff,0x58,0x2d,0xc6], 'MODE64');
TEST('vcvtsd2si r8, xmm30, {rd-sae}  ', [0x62,0x11,0xff,0x38,0x2d,0xc6], 'MODE64');
TEST('vcvtsd2si r8, xmm30, {rz-sae}  ', [0x62,0x11,0xff,0x78,0x2d,0xc6], 'MODE64');

TEST('vcvtsd2usi eax, xmm30                   ', [0x62,0x91,0x7f,0x08,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi eax, xmm30, {rn-sae}         ', [0x62,0x91,0x7f,0x18,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi eax, xmm30, {ru-sae}         ', [0x62,0x91,0x7f,0x58,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi eax, xmm30, {rd-sae}         ', [0x62,0x91,0x7f,0x38,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi eax, xmm30, {rz-sae}         ', [0x62,0x91,0x7f,0x78,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi eax, qword [rcx]             ', [0x62,0xf1,0x7f,0x08,0x79,0x01                         ], 'MODE64');
TEST('vcvtsd2usi eax, qword [rax+r14*8+0x123] ', [0x62,0xb1,0x7f,0x08,0x79,0x84,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtsd2usi eax, qword [rdx+0x3f8]       ', [0x62,0xf1,0x7f,0x08,0x79,0x42,0x7f                    ], 'MODE64');
TEST('vcvtsd2usi eax, qword [rdx+0x400]       ', [0x62,0xf1,0x7f,0x08,0x79,0x82,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvtsd2usi eax, qword [rdx-0x400]       ', [0x62,0xf1,0x7f,0x08,0x79,0x42,0x80                    ], 'MODE64');
TEST('vcvtsd2usi eax, qword [rdx-0x408]       ', [0x62,0xf1,0x7f,0x08,0x79,0x82,0xf8,0xfb,0xff,0xff     ], 'MODE64');
TEST('vcvtsd2usi ebp, xmm30                   ', [0x62,0x91,0x7f,0x08,0x79,0xee                         ], 'MODE64');
TEST('vcvtsd2usi ebp, xmm30, {rn-sae}         ', [0x62,0x91,0x7f,0x18,0x79,0xee                         ], 'MODE64');
TEST('vcvtsd2usi ebp, xmm30, {ru-sae}         ', [0x62,0x91,0x7f,0x58,0x79,0xee                         ], 'MODE64');
TEST('vcvtsd2usi ebp, xmm30, {rd-sae}         ', [0x62,0x91,0x7f,0x38,0x79,0xee                         ], 'MODE64');
TEST('vcvtsd2usi ebp, xmm30, {rz-sae}         ', [0x62,0x91,0x7f,0x78,0x79,0xee                         ], 'MODE64');
TEST('vcvtsd2usi ebp, qword [rcx]             ', [0x62,0xf1,0x7f,0x08,0x79,0x29                         ], 'MODE64');
TEST('vcvtsd2usi ebp, qword [rax+r14*8+0x123] ', [0x62,0xb1,0x7f,0x08,0x79,0xac,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtsd2usi ebp, qword [rdx+0x3f8]       ', [0x62,0xf1,0x7f,0x08,0x79,0x6a,0x7f                    ], 'MODE64');
TEST('vcvtsd2usi ebp, qword [rdx+0x400]       ', [0x62,0xf1,0x7f,0x08,0x79,0xaa,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvtsd2usi ebp, qword [rdx-0x400]       ', [0x62,0xf1,0x7f,0x08,0x79,0x6a,0x80                    ], 'MODE64');
TEST('vcvtsd2usi ebp, qword [rdx-0x408]       ', [0x62,0xf1,0x7f,0x08,0x79,0xaa,0xf8,0xfb,0xff,0xff     ], 'MODE64');
TEST('vcvtsd2usi r13d, xmm30                  ', [0x62,0x11,0x7f,0x08,0x79,0xee                         ], 'MODE64');
TEST('vcvtsd2usi r13d, xmm30, {rn-sae}        ', [0x62,0x11,0x7f,0x18,0x79,0xee                         ], 'MODE64');
TEST('vcvtsd2usi r13d, xmm30, {ru-sae}        ', [0x62,0x11,0x7f,0x58,0x79,0xee                         ], 'MODE64');
TEST('vcvtsd2usi r13d, xmm30, {rd-sae}        ', [0x62,0x11,0x7f,0x38,0x79,0xee                         ], 'MODE64');
TEST('vcvtsd2usi r13d, xmm30, {rz-sae}        ', [0x62,0x11,0x7f,0x78,0x79,0xee                         ], 'MODE64');
TEST('vcvtsd2usi r13d, qword [rcx]            ', [0x62,0x71,0x7f,0x08,0x79,0x29                         ], 'MODE64');
TEST('vcvtsd2usi r13d, qword [rax+r14*8+0x123]', [0x62,0x31,0x7f,0x08,0x79,0xac,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtsd2usi r13d, qword [rdx+0x3f8]      ', [0x62,0x71,0x7f,0x08,0x79,0x6a,0x7f                    ], 'MODE64');
TEST('vcvtsd2usi r13d, qword [rdx+0x400]      ', [0x62,0x71,0x7f,0x08,0x79,0xaa,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvtsd2usi r13d, qword [rdx-0x400]      ', [0x62,0x71,0x7f,0x08,0x79,0x6a,0x80                    ], 'MODE64');
TEST('vcvtsd2usi r13d, qword [rdx-0x408]      ', [0x62,0x71,0x7f,0x08,0x79,0xaa,0xf8,0xfb,0xff,0xff     ], 'MODE64');
TEST('vcvtsd2usi rax, xmm30                   ', [0x62,0x91,0xff,0x08,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi rax, xmm30, {rn-sae}         ', [0x62,0x91,0xff,0x18,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi rax, xmm30, {ru-sae}         ', [0x62,0x91,0xff,0x58,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi rax, xmm30, {rd-sae}         ', [0x62,0x91,0xff,0x38,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi rax, xmm30, {rz-sae}         ', [0x62,0x91,0xff,0x78,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi rax, qword [rcx]             ', [0x62,0xf1,0xff,0x08,0x79,0x01                         ], 'MODE64');
TEST('vcvtsd2usi rax, qword [rax+r14*8+0x123] ', [0x62,0xb1,0xff,0x08,0x79,0x84,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtsd2usi rax, qword [rdx+0x3f8]       ', [0x62,0xf1,0xff,0x08,0x79,0x42,0x7f                    ], 'MODE64');
TEST('vcvtsd2usi rax, qword [rdx+0x400]       ', [0x62,0xf1,0xff,0x08,0x79,0x82,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvtsd2usi rax, qword [rdx-0x400]       ', [0x62,0xf1,0xff,0x08,0x79,0x42,0x80                    ], 'MODE64');
TEST('vcvtsd2usi rax, qword [rdx-0x408]       ', [0x62,0xf1,0xff,0x08,0x79,0x82,0xf8,0xfb,0xff,0xff     ], 'MODE64');
TEST('vcvtsd2usi r8, xmm30                    ', [0x62,0x11,0xff,0x08,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi r8, xmm30, {rn-sae}          ', [0x62,0x11,0xff,0x18,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi r8, xmm30, {ru-sae}          ', [0x62,0x11,0xff,0x58,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi r8, xmm30, {rd-sae}          ', [0x62,0x11,0xff,0x38,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi r8, xmm30, {rz-sae}          ', [0x62,0x11,0xff,0x78,0x79,0xc6                         ], 'MODE64');
TEST('vcvtsd2usi r8, qword [rcx]              ', [0x62,0x71,0xff,0x08,0x79,0x01                         ], 'MODE64');
TEST('vcvtsd2usi r8, qword [rax+r14*8+0x123]  ', [0x62,0x31,0xff,0x08,0x79,0x84,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtsd2usi r8, qword [rdx+0x3f8]        ', [0x62,0x71,0xff,0x08,0x79,0x42,0x7f                    ], 'MODE64');
TEST('vcvtsd2usi r8, qword [rdx+0x400]        ', [0x62,0x71,0xff,0x08,0x79,0x82,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvtsd2usi r8, qword [rdx-0x400]        ', [0x62,0x71,0xff,0x08,0x79,0x42,0x80                    ], 'MODE64');
TEST('vcvtsd2usi r8, qword [rdx-0x408]        ', [0x62,0x71,0xff,0x08,0x79,0x82,0xf8,0xfb,0xff,0xff     ], 'MODE64');

TEST('vcvtsi2sd xmm30, xmm29, eax                    ', [0x62,0x61,0x17,0x00,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, ebp                    ', [0x62,0x61,0x17,0x00,0x2a,0xf5                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, r13d                   ', [0x62,0x41,0x17,0x00,0x2a,0xf5                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, dword [rcx]            ', [0x62,0x61,0x17,0x00,0x2a,0x31                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, dword [rax+r14*8+0x123]', [0x62,0x21,0x17,0x00,0x2a,0xb4,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, dword [rdx+0x1fc]      ', [0x62,0x61,0x17,0x00,0x2a,0x72,0x7f                    ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, dword [rdx+0x200]      ', [0x62,0x61,0x17,0x00,0x2a,0xb2,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, dword [rdx-0x200]      ', [0x62,0x61,0x17,0x00,0x2a,0x72,0x80                    ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, dword [rdx-0x204]      ', [0x62,0x61,0x17,0x00,0x2a,0xb2,0xfc,0xfd,0xff,0xff     ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, rax                    ', [0x62,0x61,0x97,0x00,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, {rn-sae}, rax          ', [0x62,0x61,0x97,0x10,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, {ru-sae}, rax          ', [0x62,0x61,0x97,0x50,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, {rd-sae}, rax          ', [0x62,0x61,0x97,0x30,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, {rz-sae}, rax          ', [0x62,0x61,0x97,0x70,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, r8                     ', [0x62,0x41,0x97,0x00,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, {rn-sae}, r8           ', [0x62,0x41,0x97,0x10,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, {ru-sae}, r8           ', [0x62,0x41,0x97,0x50,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, {rd-sae}, r8           ', [0x62,0x41,0x97,0x30,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, {rz-sae}, r8           ', [0x62,0x41,0x97,0x70,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, qword [rcx]            ', [0x62,0x61,0x97,0x00,0x2a,0x31                         ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, qword [rax+r14*8+0x123]', [0x62,0x21,0x97,0x00,0x2a,0xb4,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, qword [rdx+0x3f8]      ', [0x62,0x61,0x97,0x00,0x2a,0x72,0x7f                    ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, qword [rdx+0x400]      ', [0x62,0x61,0x97,0x00,0x2a,0xb2,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, qword [rdx-0x400]      ', [0x62,0x61,0x97,0x00,0x2a,0x72,0x80                    ], 'MODE64');
TEST('vcvtsi2sd xmm30, xmm29, qword [rdx-0x408]      ', [0x62,0x61,0x97,0x00,0x2a,0xb2,0xf8,0xfb,0xff,0xff     ], 'MODE64');

TEST('vcvtsi2ss xmm30, xmm29, eax                    ', [0x62,0x61,0x16,0x00,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rn-sae}, eax          ', [0x62,0x61,0x16,0x10,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {ru-sae}, eax          ', [0x62,0x61,0x16,0x50,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rd-sae}, eax          ', [0x62,0x61,0x16,0x30,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rz-sae}, eax          ', [0x62,0x61,0x16,0x70,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, ebp                    ', [0x62,0x61,0x16,0x00,0x2a,0xf5                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rn-sae}, ebp          ', [0x62,0x61,0x16,0x10,0x2a,0xf5                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {ru-sae}, ebp          ', [0x62,0x61,0x16,0x50,0x2a,0xf5                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rd-sae}, ebp          ', [0x62,0x61,0x16,0x30,0x2a,0xf5                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rz-sae}, ebp          ', [0x62,0x61,0x16,0x70,0x2a,0xf5                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, r13d                   ', [0x62,0x41,0x16,0x00,0x2a,0xf5                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rn-sae}, r13d         ', [0x62,0x41,0x16,0x10,0x2a,0xf5                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {ru-sae}, r13d         ', [0x62,0x41,0x16,0x50,0x2a,0xf5                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rd-sae}, r13d         ', [0x62,0x41,0x16,0x30,0x2a,0xf5                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rz-sae}, r13d         ', [0x62,0x41,0x16,0x70,0x2a,0xf5                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, dword [rcx]            ', [0x62,0x61,0x16,0x00,0x2a,0x31                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, dword [rax+r14*8+0x123]', [0x62,0x21,0x16,0x00,0x2a,0xb4,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, dword [rdx+0x1fc]      ', [0x62,0x61,0x16,0x00,0x2a,0x72,0x7f                    ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, dword [rdx+0x200]      ', [0x62,0x61,0x16,0x00,0x2a,0xb2,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, dword [rdx-0x200]      ', [0x62,0x61,0x16,0x00,0x2a,0x72,0x80                    ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, dword [rdx-0x204]      ', [0x62,0x61,0x16,0x00,0x2a,0xb2,0xfc,0xfd,0xff,0xff     ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, rax                    ', [0x62,0x61,0x96,0x00,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rn-sae}, rax          ', [0x62,0x61,0x96,0x10,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {ru-sae}, rax          ', [0x62,0x61,0x96,0x50,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rd-sae}, rax          ', [0x62,0x61,0x96,0x30,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rz-sae}, rax          ', [0x62,0x61,0x96,0x70,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, r8                     ', [0x62,0x41,0x96,0x00,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rn-sae}, r8           ', [0x62,0x41,0x96,0x10,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {ru-sae}, r8           ', [0x62,0x41,0x96,0x50,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rd-sae}, r8           ', [0x62,0x41,0x96,0x30,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, {rz-sae}, r8           ', [0x62,0x41,0x96,0x70,0x2a,0xf0                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, qword [rcx]            ', [0x62,0x61,0x96,0x00,0x2a,0x31                         ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, qword [rax+r14*8+0x123]', [0x62,0x21,0x96,0x00,0x2a,0xb4,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, qword [rdx+0x3f8]      ', [0x62,0x61,0x96,0x00,0x2a,0x72,0x7f                    ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, qword [rdx+0x400]      ', [0x62,0x61,0x96,0x00,0x2a,0xb2,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, qword [rdx-0x400]      ', [0x62,0x61,0x96,0x00,0x2a,0x72,0x80                    ], 'MODE64');
TEST('vcvtsi2ss xmm30, xmm29, qword [rdx-0x408]      ', [0x62,0x61,0x96,0x00,0x2a,0xb2,0xf8,0xfb,0xff,0xff     ], 'MODE64');

TEST('vcvtss2si eax, xmm30, {rn-sae} ', [0x62,0x91,0x7e,0x18,0x2d,0xc6], 'MODE64');
TEST('vcvtss2si eax, xmm30, {ru-sae} ', [0x62,0x91,0x7e,0x58,0x2d,0xc6], 'MODE64');
TEST('vcvtss2si eax, xmm30, {rd-sae} ', [0x62,0x91,0x7e,0x38,0x2d,0xc6], 'MODE64');
TEST('vcvtss2si eax, xmm30, {rz-sae} ', [0x62,0x91,0x7e,0x78,0x2d,0xc6], 'MODE64');
TEST('vcvtss2si ebp, xmm30, {rn-sae} ', [0x62,0x91,0x7e,0x18,0x2d,0xee], 'MODE64');
TEST('vcvtss2si ebp, xmm30, {ru-sae} ', [0x62,0x91,0x7e,0x58,0x2d,0xee], 'MODE64');
TEST('vcvtss2si ebp, xmm30, {rd-sae} ', [0x62,0x91,0x7e,0x38,0x2d,0xee], 'MODE64');
TEST('vcvtss2si ebp, xmm30, {rz-sae} ', [0x62,0x91,0x7e,0x78,0x2d,0xee], 'MODE64');
TEST('vcvtss2si r13d, xmm30, {rn-sae}', [0x62,0x11,0x7e,0x18,0x2d,0xee], 'MODE64');
TEST('vcvtss2si r13d, xmm30, {ru-sae}', [0x62,0x11,0x7e,0x58,0x2d,0xee], 'MODE64');
TEST('vcvtss2si r13d, xmm30, {rd-sae}', [0x62,0x11,0x7e,0x38,0x2d,0xee], 'MODE64');
TEST('vcvtss2si r13d, xmm30, {rz-sae}', [0x62,0x11,0x7e,0x78,0x2d,0xee], 'MODE64');
TEST('vcvtss2si rax, xmm30, {rn-sae} ', [0x62,0x91,0xfe,0x18,0x2d,0xc6], 'MODE64');
TEST('vcvtss2si rax, xmm30, {ru-sae} ', [0x62,0x91,0xfe,0x58,0x2d,0xc6], 'MODE64');
TEST('vcvtss2si rax, xmm30, {rd-sae} ', [0x62,0x91,0xfe,0x38,0x2d,0xc6], 'MODE64');
TEST('vcvtss2si rax, xmm30, {rz-sae} ', [0x62,0x91,0xfe,0x78,0x2d,0xc6], 'MODE64');
TEST('vcvtss2si r8, xmm30, {rn-sae}  ', [0x62,0x11,0xfe,0x18,0x2d,0xc6], 'MODE64');
TEST('vcvtss2si r8, xmm30, {ru-sae}  ', [0x62,0x11,0xfe,0x58,0x2d,0xc6], 'MODE64');
TEST('vcvtss2si r8, xmm30, {rd-sae}  ', [0x62,0x11,0xfe,0x38,0x2d,0xc6], 'MODE64');
TEST('vcvtss2si r8, xmm30, {rz-sae}  ', [0x62,0x11,0xfe,0x78,0x2d,0xc6], 'MODE64');

TEST('vcvtss2usi eax, xmm30                   ', [0x62,0x91,0x7e,0x08,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi eax, xmm30, {rn-sae}         ', [0x62,0x91,0x7e,0x18,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi eax, xmm30, {ru-sae}         ', [0x62,0x91,0x7e,0x58,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi eax, xmm30, {rd-sae}         ', [0x62,0x91,0x7e,0x38,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi eax, xmm30, {rz-sae}         ', [0x62,0x91,0x7e,0x78,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi eax, dword [rcx]             ', [0x62,0xf1,0x7e,0x08,0x79,0x01                         ], 'MODE64');
TEST('vcvtss2usi eax, dword [rax+r14*8+0x123] ', [0x62,0xb1,0x7e,0x08,0x79,0x84,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtss2usi eax, dword [rdx+0x1fc]       ', [0x62,0xf1,0x7e,0x08,0x79,0x42,0x7f                    ], 'MODE64');
TEST('vcvtss2usi eax, dword [rdx+0x200]       ', [0x62,0xf1,0x7e,0x08,0x79,0x82,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvtss2usi eax, dword [rdx-0x200]       ', [0x62,0xf1,0x7e,0x08,0x79,0x42,0x80                    ], 'MODE64');
TEST('vcvtss2usi eax, dword [rdx-0x204]       ', [0x62,0xf1,0x7e,0x08,0x79,0x82,0xfc,0xfd,0xff,0xff     ], 'MODE64');
TEST('vcvtss2usi ebp, xmm30                   ', [0x62,0x91,0x7e,0x08,0x79,0xee                         ], 'MODE64');
TEST('vcvtss2usi ebp, xmm30, {rn-sae}         ', [0x62,0x91,0x7e,0x18,0x79,0xee                         ], 'MODE64');
TEST('vcvtss2usi ebp, xmm30, {ru-sae}         ', [0x62,0x91,0x7e,0x58,0x79,0xee                         ], 'MODE64');
TEST('vcvtss2usi ebp, xmm30, {rd-sae}         ', [0x62,0x91,0x7e,0x38,0x79,0xee                         ], 'MODE64');
TEST('vcvtss2usi ebp, xmm30, {rz-sae}         ', [0x62,0x91,0x7e,0x78,0x79,0xee                         ], 'MODE64');
TEST('vcvtss2usi ebp, dword [rcx]             ', [0x62,0xf1,0x7e,0x08,0x79,0x29                         ], 'MODE64');
TEST('vcvtss2usi ebp, dword [rax+r14*8+0x123] ', [0x62,0xb1,0x7e,0x08,0x79,0xac,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtss2usi ebp, dword [rdx+0x1fc]       ', [0x62,0xf1,0x7e,0x08,0x79,0x6a,0x7f                    ], 'MODE64');
TEST('vcvtss2usi ebp, dword [rdx+0x200]       ', [0x62,0xf1,0x7e,0x08,0x79,0xaa,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvtss2usi ebp, dword [rdx-0x200]       ', [0x62,0xf1,0x7e,0x08,0x79,0x6a,0x80                    ], 'MODE64');
TEST('vcvtss2usi ebp, dword [rdx-0x204]       ', [0x62,0xf1,0x7e,0x08,0x79,0xaa,0xfc,0xfd,0xff,0xff     ], 'MODE64');
TEST('vcvtss2usi r13d, xmm30                  ', [0x62,0x11,0x7e,0x08,0x79,0xee                         ], 'MODE64');
TEST('vcvtss2usi r13d, xmm30, {rn-sae}        ', [0x62,0x11,0x7e,0x18,0x79,0xee                         ], 'MODE64');
TEST('vcvtss2usi r13d, xmm30, {ru-sae}        ', [0x62,0x11,0x7e,0x58,0x79,0xee                         ], 'MODE64');
TEST('vcvtss2usi r13d, xmm30, {rd-sae}        ', [0x62,0x11,0x7e,0x38,0x79,0xee                         ], 'MODE64');
TEST('vcvtss2usi r13d, xmm30, {rz-sae}        ', [0x62,0x11,0x7e,0x78,0x79,0xee                         ], 'MODE64');
TEST('vcvtss2usi r13d, dword [rcx]            ', [0x62,0x71,0x7e,0x08,0x79,0x29                         ], 'MODE64');
TEST('vcvtss2usi r13d, dword [rax+r14*8+0x123]', [0x62,0x31,0x7e,0x08,0x79,0xac,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtss2usi r13d, dword [rdx+0x1fc]      ', [0x62,0x71,0x7e,0x08,0x79,0x6a,0x7f                    ], 'MODE64');
TEST('vcvtss2usi r13d, dword [rdx+0x200]      ', [0x62,0x71,0x7e,0x08,0x79,0xaa,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvtss2usi r13d, dword [rdx-0x200]      ', [0x62,0x71,0x7e,0x08,0x79,0x6a,0x80                    ], 'MODE64');
TEST('vcvtss2usi r13d, dword [rdx-0x204]      ', [0x62,0x71,0x7e,0x08,0x79,0xaa,0xfc,0xfd,0xff,0xff     ], 'MODE64');
TEST('vcvtss2usi rax, xmm30                   ', [0x62,0x91,0xfe,0x08,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi rax, xmm30, {rn-sae}         ', [0x62,0x91,0xfe,0x18,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi rax, xmm30, {ru-sae}         ', [0x62,0x91,0xfe,0x58,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi rax, xmm30, {rd-sae}         ', [0x62,0x91,0xfe,0x38,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi rax, xmm30, {rz-sae}         ', [0x62,0x91,0xfe,0x78,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi rax, dword [rcx]             ', [0x62,0xf1,0xfe,0x08,0x79,0x01                         ], 'MODE64');
TEST('vcvtss2usi rax, dword [rax+r14*8+0x123] ', [0x62,0xb1,0xfe,0x08,0x79,0x84,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtss2usi rax, dword [rdx+0x1fc]       ', [0x62,0xf1,0xfe,0x08,0x79,0x42,0x7f                    ], 'MODE64');
TEST('vcvtss2usi rax, dword [rdx+0x200]       ', [0x62,0xf1,0xfe,0x08,0x79,0x82,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvtss2usi rax, dword [rdx-0x200]       ', [0x62,0xf1,0xfe,0x08,0x79,0x42,0x80                    ], 'MODE64');
TEST('vcvtss2usi rax, dword [rdx-0x204]       ', [0x62,0xf1,0xfe,0x08,0x79,0x82,0xfc,0xfd,0xff,0xff     ], 'MODE64');
TEST('vcvtss2usi r8, xmm30                    ', [0x62,0x11,0xfe,0x08,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi r8, xmm30, {rn-sae}          ', [0x62,0x11,0xfe,0x18,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi r8, xmm30, {ru-sae}          ', [0x62,0x11,0xfe,0x58,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi r8, xmm30, {rd-sae}          ', [0x62,0x11,0xfe,0x38,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi r8, xmm30, {rz-sae}          ', [0x62,0x11,0xfe,0x78,0x79,0xc6                         ], 'MODE64');
TEST('vcvtss2usi r8, dword [rcx]              ', [0x62,0x71,0xfe,0x08,0x79,0x01                         ], 'MODE64');
TEST('vcvtss2usi r8, dword [rax+r14*8+0x123]  ', [0x62,0x31,0xfe,0x08,0x79,0x84,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtss2usi r8, dword [rdx+0x1fc]        ', [0x62,0x71,0xfe,0x08,0x79,0x42,0x7f                    ], 'MODE64');
TEST('vcvtss2usi r8, dword [rdx+0x200]        ', [0x62,0x71,0xfe,0x08,0x79,0x82,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvtss2usi r8, dword [rdx-0x200]        ', [0x62,0x71,0xfe,0x08,0x79,0x42,0x80                    ], 'MODE64');
TEST('vcvtss2usi r8, dword [rdx-0x204]        ', [0x62,0x71,0xfe,0x08,0x79,0x82,0xfc,0xfd,0xff,0xff     ], 'MODE64');

TEST('vcvttsd2si eax, xmm30, {sae} ', [0x62,0x91,0x7f,0x18,0x2c,0xc6], 'MODE64');
TEST('vcvttsd2si ebp, xmm30, {sae} ', [0x62,0x91,0x7f,0x18,0x2c,0xee], 'MODE64');
TEST('vcvttsd2si r13d, xmm30, {sae}', [0x62,0x11,0x7f,0x18,0x2c,0xee], 'MODE64');
TEST('vcvttsd2si rax, xmm30, {sae} ', [0x62,0x91,0xff,0x18,0x2c,0xc6], 'MODE64');
TEST('vcvttsd2si r8, xmm30, {sae}  ', [0x62,0x11,0xff,0x18,0x2c,0xc6], 'MODE64');

TEST('vcvttsd2usi eax, xmm30                   ', [0x62,0x91,0x7f,0x08,0x78,0xc6                         ], 'MODE64');
TEST('vcvttsd2usi eax, xmm30, {sae}            ', [0x62,0x91,0x7f,0x18,0x78,0xc6                         ], 'MODE64');
TEST('vcvttsd2usi eax, qword [rcx]             ', [0x62,0xf1,0x7f,0x08,0x78,0x01                         ], 'MODE64');
TEST('vcvttsd2usi eax, qword [rax+r14*8+0x123] ', [0x62,0xb1,0x7f,0x08,0x78,0x84,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvttsd2usi eax, qword [rdx+0x3f8]       ', [0x62,0xf1,0x7f,0x08,0x78,0x42,0x7f                    ], 'MODE64');
TEST('vcvttsd2usi eax, qword [rdx+0x400]       ', [0x62,0xf1,0x7f,0x08,0x78,0x82,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvttsd2usi eax, qword [rdx-0x400]       ', [0x62,0xf1,0x7f,0x08,0x78,0x42,0x80                    ], 'MODE64');
TEST('vcvttsd2usi eax, qword [rdx-0x408]       ', [0x62,0xf1,0x7f,0x08,0x78,0x82,0xf8,0xfb,0xff,0xff     ], 'MODE64');
TEST('vcvttsd2usi ebp, xmm30                   ', [0x62,0x91,0x7f,0x08,0x78,0xee                         ], 'MODE64');
TEST('vcvttsd2usi ebp, xmm30, {sae}            ', [0x62,0x91,0x7f,0x18,0x78,0xee                         ], 'MODE64');
TEST('vcvttsd2usi ebp, qword [rcx]             ', [0x62,0xf1,0x7f,0x08,0x78,0x29                         ], 'MODE64');
TEST('vcvttsd2usi ebp, qword [rax+r14*8+0x123] ', [0x62,0xb1,0x7f,0x08,0x78,0xac,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvttsd2usi ebp, qword [rdx+0x3f8]       ', [0x62,0xf1,0x7f,0x08,0x78,0x6a,0x7f                    ], 'MODE64');
TEST('vcvttsd2usi ebp, qword [rdx+0x400]       ', [0x62,0xf1,0x7f,0x08,0x78,0xaa,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvttsd2usi ebp, qword [rdx-0x400]       ', [0x62,0xf1,0x7f,0x08,0x78,0x6a,0x80                    ], 'MODE64');
TEST('vcvttsd2usi ebp, qword [rdx-0x408]       ', [0x62,0xf1,0x7f,0x08,0x78,0xaa,0xf8,0xfb,0xff,0xff     ], 'MODE64');
TEST('vcvttsd2usi r13d, xmm30                  ', [0x62,0x11,0x7f,0x08,0x78,0xee                         ], 'MODE64');
TEST('vcvttsd2usi r13d, xmm30, {sae}           ', [0x62,0x11,0x7f,0x18,0x78,0xee                         ], 'MODE64');
TEST('vcvttsd2usi r13d, qword [rcx]            ', [0x62,0x71,0x7f,0x08,0x78,0x29                         ], 'MODE64');
TEST('vcvttsd2usi r13d, qword [rax+r14*8+0x123]', [0x62,0x31,0x7f,0x08,0x78,0xac,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvttsd2usi r13d, qword [rdx+0x3f8]      ', [0x62,0x71,0x7f,0x08,0x78,0x6a,0x7f                    ], 'MODE64');
TEST('vcvttsd2usi r13d, qword [rdx+0x400]      ', [0x62,0x71,0x7f,0x08,0x78,0xaa,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvttsd2usi r13d, qword [rdx-0x400]      ', [0x62,0x71,0x7f,0x08,0x78,0x6a,0x80                    ], 'MODE64');
TEST('vcvttsd2usi r13d, qword [rdx-0x408]      ', [0x62,0x71,0x7f,0x08,0x78,0xaa,0xf8,0xfb,0xff,0xff     ], 'MODE64');
TEST('vcvttsd2usi rax, xmm30                   ', [0x62,0x91,0xff,0x08,0x78,0xc6                         ], 'MODE64');
TEST('vcvttsd2usi rax, xmm30, {sae}            ', [0x62,0x91,0xff,0x18,0x78,0xc6                         ], 'MODE64');
TEST('vcvttsd2usi rax, qword [rcx]             ', [0x62,0xf1,0xff,0x08,0x78,0x01                         ], 'MODE64');
TEST('vcvttsd2usi rax, qword [rax+r14*8+0x123] ', [0x62,0xb1,0xff,0x08,0x78,0x84,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvttsd2usi rax, qword [rdx+0x3f8]       ', [0x62,0xf1,0xff,0x08,0x78,0x42,0x7f                    ], 'MODE64');
TEST('vcvttsd2usi rax, qword [rdx+0x400]       ', [0x62,0xf1,0xff,0x08,0x78,0x82,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvttsd2usi rax, qword [rdx-0x400]       ', [0x62,0xf1,0xff,0x08,0x78,0x42,0x80                    ], 'MODE64');
TEST('vcvttsd2usi rax, qword [rdx-0x408]       ', [0x62,0xf1,0xff,0x08,0x78,0x82,0xf8,0xfb,0xff,0xff     ], 'MODE64');
TEST('vcvttsd2usi r8, xmm30                    ', [0x62,0x11,0xff,0x08,0x78,0xc6                         ], 'MODE64');
TEST('vcvttsd2usi r8, xmm30, {sae}             ', [0x62,0x11,0xff,0x18,0x78,0xc6                         ], 'MODE64');
TEST('vcvttsd2usi r8, qword [rcx]              ', [0x62,0x71,0xff,0x08,0x78,0x01                         ], 'MODE64');
TEST('vcvttsd2usi r8, qword [rax+r14*8+0x123]  ', [0x62,0x31,0xff,0x08,0x78,0x84,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvttsd2usi r8, qword [rdx+0x3f8]        ', [0x62,0x71,0xff,0x08,0x78,0x42,0x7f                    ], 'MODE64');
TEST('vcvttsd2usi r8, qword [rdx+0x400]        ', [0x62,0x71,0xff,0x08,0x78,0x82,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvttsd2usi r8, qword [rdx-0x400]        ', [0x62,0x71,0xff,0x08,0x78,0x42,0x80                    ], 'MODE64');
TEST('vcvttsd2usi r8, qword [rdx-0x408]        ', [0x62,0x71,0xff,0x08,0x78,0x82,0xf8,0xfb,0xff,0xff     ], 'MODE64');

TEST('vcvttss2si eax, xmm30, {sae} ', [0x62,0x91,0x7e,0x18,0x2c,0xc6], 'MODE64');
TEST('vcvttss2si ebp, xmm30, {sae} ', [0x62,0x91,0x7e,0x18,0x2c,0xee], 'MODE64');
TEST('vcvttss2si r13d, xmm30, {sae}', [0x62,0x11,0x7e,0x18,0x2c,0xee], 'MODE64');
TEST('vcvttss2si rax, xmm30, {sae} ', [0x62,0x91,0xfe,0x18,0x2c,0xc6], 'MODE64');
TEST('vcvttss2si r8, xmm30, {sae}  ', [0x62,0x11,0xfe,0x18,0x2c,0xc6], 'MODE64');

TEST('vcvttss2usi eax, xmm30                   ', [0x62,0x91,0x7e,0x08,0x78,0xc6                         ], 'MODE64');
TEST('vcvttss2usi eax, xmm30, {sae}            ', [0x62,0x91,0x7e,0x18,0x78,0xc6                         ], 'MODE64');
TEST('vcvttss2usi eax, dword [rcx]             ', [0x62,0xf1,0x7e,0x08,0x78,0x01                         ], 'MODE64');
TEST('vcvttss2usi eax, dword [rax+r14*8+0x123] ', [0x62,0xb1,0x7e,0x08,0x78,0x84,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvttss2usi eax, dword [rdx+0x1fc]       ', [0x62,0xf1,0x7e,0x08,0x78,0x42,0x7f                    ], 'MODE64');
TEST('vcvttss2usi eax, dword [rdx+0x200]       ', [0x62,0xf1,0x7e,0x08,0x78,0x82,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvttss2usi eax, dword [rdx-0x200]       ', [0x62,0xf1,0x7e,0x08,0x78,0x42,0x80                    ], 'MODE64');
TEST('vcvttss2usi eax, dword [rdx-0x204]       ', [0x62,0xf1,0x7e,0x08,0x78,0x82,0xfc,0xfd,0xff,0xff     ], 'MODE64');
TEST('vcvttss2usi ebp, xmm30                   ', [0x62,0x91,0x7e,0x08,0x78,0xee                         ], 'MODE64');
TEST('vcvttss2usi ebp, xmm30, {sae}            ', [0x62,0x91,0x7e,0x18,0x78,0xee                         ], 'MODE64');
TEST('vcvttss2usi ebp, dword [rcx]             ', [0x62,0xf1,0x7e,0x08,0x78,0x29                         ], 'MODE64');
TEST('vcvttss2usi ebp, dword [rax+r14*8+0x123] ', [0x62,0xb1,0x7e,0x08,0x78,0xac,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvttss2usi ebp, dword [rdx+0x1fc]       ', [0x62,0xf1,0x7e,0x08,0x78,0x6a,0x7f                    ], 'MODE64');
TEST('vcvttss2usi ebp, dword [rdx+0x200]       ', [0x62,0xf1,0x7e,0x08,0x78,0xaa,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvttss2usi ebp, dword [rdx-0x200]       ', [0x62,0xf1,0x7e,0x08,0x78,0x6a,0x80                    ], 'MODE64');
TEST('vcvttss2usi ebp, dword [rdx-0x204]       ', [0x62,0xf1,0x7e,0x08,0x78,0xaa,0xfc,0xfd,0xff,0xff     ], 'MODE64');
TEST('vcvttss2usi r13d, xmm30                  ', [0x62,0x11,0x7e,0x08,0x78,0xee                         ], 'MODE64');
TEST('vcvttss2usi r13d, xmm30, {sae}           ', [0x62,0x11,0x7e,0x18,0x78,0xee                         ], 'MODE64');
TEST('vcvttss2usi r13d, dword [rcx]            ', [0x62,0x71,0x7e,0x08,0x78,0x29                         ], 'MODE64');
TEST('vcvttss2usi r13d, dword [rax+r14*8+0x123]', [0x62,0x31,0x7e,0x08,0x78,0xac,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvttss2usi r13d, dword [rdx+0x1fc]      ', [0x62,0x71,0x7e,0x08,0x78,0x6a,0x7f                    ], 'MODE64');
TEST('vcvttss2usi r13d, dword [rdx+0x200]      ', [0x62,0x71,0x7e,0x08,0x78,0xaa,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvttss2usi r13d, dword [rdx-0x200]      ', [0x62,0x71,0x7e,0x08,0x78,0x6a,0x80                    ], 'MODE64');
TEST('vcvttss2usi r13d, dword [rdx-0x204]      ', [0x62,0x71,0x7e,0x08,0x78,0xaa,0xfc,0xfd,0xff,0xff     ], 'MODE64');
TEST('vcvttss2usi rax, xmm30                   ', [0x62,0x91,0xfe,0x08,0x78,0xc6                         ], 'MODE64');
TEST('vcvttss2usi rax, xmm30, {sae}            ', [0x62,0x91,0xfe,0x18,0x78,0xc6                         ], 'MODE64');
TEST('vcvttss2usi rax, dword [rcx]             ', [0x62,0xf1,0xfe,0x08,0x78,0x01                         ], 'MODE64');
TEST('vcvttss2usi rax, dword [rax+r14*8+0x123] ', [0x62,0xb1,0xfe,0x08,0x78,0x84,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvttss2usi rax, dword [rdx+0x1fc]       ', [0x62,0xf1,0xfe,0x08,0x78,0x42,0x7f                    ], 'MODE64');
TEST('vcvttss2usi rax, dword [rdx+0x200]       ', [0x62,0xf1,0xfe,0x08,0x78,0x82,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvttss2usi rax, dword [rdx-0x200]       ', [0x62,0xf1,0xfe,0x08,0x78,0x42,0x80                    ], 'MODE64');
TEST('vcvttss2usi rax, dword [rdx-0x204]       ', [0x62,0xf1,0xfe,0x08,0x78,0x82,0xfc,0xfd,0xff,0xff     ], 'MODE64');
TEST('vcvttss2usi r8, xmm30                    ', [0x62,0x11,0xfe,0x08,0x78,0xc6                         ], 'MODE64');
TEST('vcvttss2usi r8, xmm30, {sae}             ', [0x62,0x11,0xfe,0x18,0x78,0xc6                         ], 'MODE64');
TEST('vcvttss2usi r8, dword [rcx]              ', [0x62,0x71,0xfe,0x08,0x78,0x01                         ], 'MODE64');
TEST('vcvttss2usi r8, dword [rax+r14*8+0x123]  ', [0x62,0x31,0xfe,0x08,0x78,0x84,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvttss2usi r8, dword [rdx+0x1fc]        ', [0x62,0x71,0xfe,0x08,0x78,0x42,0x7f                    ], 'MODE64');
TEST('vcvttss2usi r8, dword [rdx+0x200]        ', [0x62,0x71,0xfe,0x08,0x78,0x82,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvttss2usi r8, dword [rdx-0x200]        ', [0x62,0x71,0xfe,0x08,0x78,0x42,0x80                    ], 'MODE64');
TEST('vcvttss2usi r8, dword [rdx-0x204]        ', [0x62,0x71,0xfe,0x08,0x78,0x82,0xfc,0xfd,0xff,0xff     ], 'MODE64');

TEST('vcvtusi2sd xmm30, xmm29, eax                    ', [0x62,0x61,0x17,0x00,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, ebp                    ', [0x62,0x61,0x17,0x00,0x7b,0xf5                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, r13d                   ', [0x62,0x41,0x17,0x00,0x7b,0xf5                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, dword [rcx]            ', [0x62,0x61,0x17,0x00,0x7b,0x31                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, dword [rax+r14*8+0x123]', [0x62,0x21,0x17,0x00,0x7b,0xb4,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, dword [rdx+0x1fc]      ', [0x62,0x61,0x17,0x00,0x7b,0x72,0x7f                    ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, dword [rdx+0x200]      ', [0x62,0x61,0x17,0x00,0x7b,0xb2,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, dword [rdx-0x200]      ', [0x62,0x61,0x17,0x00,0x7b,0x72,0x80                    ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, dword [rdx-0x204]      ', [0x62,0x61,0x17,0x00,0x7b,0xb2,0xfc,0xfd,0xff,0xff     ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, rax                    ', [0x62,0x61,0x97,0x00,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, {rn-sae}, rax          ', [0x62,0x61,0x97,0x10,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, {ru-sae}, rax          ', [0x62,0x61,0x97,0x50,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, {rd-sae}, rax          ', [0x62,0x61,0x97,0x30,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, {rz-sae}, rax          ', [0x62,0x61,0x97,0x70,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, r8                     ', [0x62,0x41,0x97,0x00,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, {rn-sae}, r8           ', [0x62,0x41,0x97,0x10,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, {ru-sae}, r8           ', [0x62,0x41,0x97,0x50,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, {rd-sae}, r8           ', [0x62,0x41,0x97,0x30,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, {rz-sae}, r8           ', [0x62,0x41,0x97,0x70,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, qword [rcx]            ', [0x62,0x61,0x97,0x00,0x7b,0x31                         ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, qword [rax+r14*8+0x123]', [0x62,0x21,0x97,0x00,0x7b,0xb4,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, qword [rdx+0x3f8]      ', [0x62,0x61,0x97,0x00,0x7b,0x72,0x7f                    ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, qword [rdx+0x400]      ', [0x62,0x61,0x97,0x00,0x7b,0xb2,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, qword [rdx-0x400]      ', [0x62,0x61,0x97,0x00,0x7b,0x72,0x80                    ], 'MODE64');
TEST('vcvtusi2sd xmm30, xmm29, qword [rdx-0x408]      ', [0x62,0x61,0x97,0x00,0x7b,0xb2,0xf8,0xfb,0xff,0xff     ], 'MODE64');

TEST('vcvtusi2ss xmm30, xmm29, eax                    ', [0x62,0x61,0x16,0x00,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rn-sae}, eax          ', [0x62,0x61,0x16,0x10,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {ru-sae}, eax          ', [0x62,0x61,0x16,0x50,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rd-sae}, eax          ', [0x62,0x61,0x16,0x30,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rz-sae}, eax          ', [0x62,0x61,0x16,0x70,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, ebp                    ', [0x62,0x61,0x16,0x00,0x7b,0xf5                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rn-sae}, ebp          ', [0x62,0x61,0x16,0x10,0x7b,0xf5                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {ru-sae}, ebp          ', [0x62,0x61,0x16,0x50,0x7b,0xf5                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rd-sae}, ebp          ', [0x62,0x61,0x16,0x30,0x7b,0xf5                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rz-sae}, ebp          ', [0x62,0x61,0x16,0x70,0x7b,0xf5                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, r13d                   ', [0x62,0x41,0x16,0x00,0x7b,0xf5                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rn-sae}, r13d         ', [0x62,0x41,0x16,0x10,0x7b,0xf5                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {ru-sae}, r13d         ', [0x62,0x41,0x16,0x50,0x7b,0xf5                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rd-sae}, r13d         ', [0x62,0x41,0x16,0x30,0x7b,0xf5                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rz-sae}, r13d         ', [0x62,0x41,0x16,0x70,0x7b,0xf5                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, dword [rcx]            ', [0x62,0x61,0x16,0x00,0x7b,0x31                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, dword [rax+r14*8+0x123]', [0x62,0x21,0x16,0x00,0x7b,0xb4,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, dword [rdx+0x1fc]      ', [0x62,0x61,0x16,0x00,0x7b,0x72,0x7f                    ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, dword [rdx+0x200]      ', [0x62,0x61,0x16,0x00,0x7b,0xb2,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, dword [rdx-0x200]      ', [0x62,0x61,0x16,0x00,0x7b,0x72,0x80                    ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, dword [rdx-0x204]      ', [0x62,0x61,0x16,0x00,0x7b,0xb2,0xfc,0xfd,0xff,0xff     ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, rax                    ', [0x62,0x61,0x96,0x00,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rn-sae}, rax          ', [0x62,0x61,0x96,0x10,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {ru-sae}, rax          ', [0x62,0x61,0x96,0x50,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rd-sae}, rax          ', [0x62,0x61,0x96,0x30,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rz-sae}, rax          ', [0x62,0x61,0x96,0x70,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, r8                     ', [0x62,0x41,0x96,0x00,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rn-sae}, r8           ', [0x62,0x41,0x96,0x10,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {ru-sae}, r8           ', [0x62,0x41,0x96,0x50,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rd-sae}, r8           ', [0x62,0x41,0x96,0x30,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, {rz-sae}, r8           ', [0x62,0x41,0x96,0x70,0x7b,0xf0                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, qword [rcx]            ', [0x62,0x61,0x96,0x00,0x7b,0x31                         ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, qword [rax+r14*8+0x123]', [0x62,0x21,0x96,0x00,0x7b,0xb4,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, qword [rdx+0x3f8]      ', [0x62,0x61,0x96,0x00,0x7b,0x72,0x7f                    ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, qword [rdx+0x400]      ', [0x62,0x61,0x96,0x00,0x7b,0xb2,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, qword [rdx-0x400]      ', [0x62,0x61,0x96,0x00,0x7b,0x72,0x80                    ], 'MODE64');
TEST('vcvtusi2ss xmm30, xmm29, qword [rdx-0x408]      ', [0x62,0x61,0x96,0x00,0x7b,0xb2,0xf8,0xfb,0xff,0xff     ], 'MODE64');

TEST('vucomisd xmm30, xmm29                  ', [0x62,0x01,0xfd,0x08,0x2e,0xf5                         ], 'MODE64');
TEST('vucomisd xmm30, xmm29, {sae}           ', [0x62,0x01,0xfd,0x18,0x2e,0xf5                         ], 'MODE64');
TEST('vucomisd xmm30, qword [rcx]            ', [0x62,0x61,0xfd,0x08,0x2e,0x31                         ], 'MODE64');
TEST('vucomisd xmm30, qword [rax+r14*8+0x123]', [0x62,0x21,0xfd,0x08,0x2e,0xb4,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vucomisd xmm30, qword [rdx+0x3f8]      ', [0x62,0x61,0xfd,0x08,0x2e,0x72,0x7f                    ], 'MODE64');
TEST('vucomisd xmm30, qword [rdx+0x400]      ', [0x62,0x61,0xfd,0x08,0x2e,0xb2,0x00,0x04,0x00,0x00     ], 'MODE64');
TEST('vucomisd xmm30, qword [rdx-0x400]      ', [0x62,0x61,0xfd,0x08,0x2e,0x72,0x80                    ], 'MODE64');
TEST('vucomisd xmm30, qword [rdx-0x408]      ', [0x62,0x61,0xfd,0x08,0x2e,0xb2,0xf8,0xfb,0xff,0xff     ], 'MODE64');

TEST('vucomiss xmm30, xmm29                  ', [0x62,0x01,0x7c,0x08,0x2e,0xf5                         ], 'MODE64');
TEST('vucomiss xmm30, xmm29, {sae}           ', [0x62,0x01,0x7c,0x18,0x2e,0xf5                         ], 'MODE64');
TEST('vucomiss xmm30, dword [rcx]            ', [0x62,0x61,0x7c,0x08,0x2e,0x31                         ], 'MODE64');
TEST('vucomiss xmm30, dword [rax+r14*8+0x123]', [0x62,0x21,0x7c,0x08,0x2e,0xb4,0xf0,0x23,0x01,0x00,0x00], 'MODE64');
TEST('vucomiss xmm30, dword [rdx+0x1fc]      ', [0x62,0x61,0x7c,0x08,0x2e,0x72,0x7f                    ], 'MODE64');
TEST('vucomiss xmm30, dword [rdx+0x200]      ', [0x62,0x61,0x7c,0x08,0x2e,0xb2,0x00,0x02,0x00,0x00     ], 'MODE64');
TEST('vucomiss xmm30, dword [rdx-0x200]      ', [0x62,0x61,0x7c,0x08,0x2e,0x72,0x80                    ], 'MODE64');
TEST('vucomiss xmm30, dword [rdx-0x204]      ', [0x62,0x61,0x7c,0x08,0x2e,0xb2,0xfc,0xfd,0xff,0xff     ], 'MODE64');

